package com.cjack.frenchexcel.model;

import java.io.Serializable;
import java.util.Date;

/**
 * 保存从qonto的接口查询回来的银行流水
 * Created by root on 10/5/19
 */
public class QontoModel implements Serializable {

    private Long id;

    private String transactionId;// ID of the transaction (e.g: acme-corp-1111-1-transaction-123)  required
    private Float amount;// Amount of the transaction, in euros required
    private Integer amountCents;// Amount of the transaction, in euro cents required
    private String attachmentIds;// array List of attachments' id optional
    private Float localAmount;// Amount in the local_currency required
    private Integer localAmountCents;// Amount in cents of the local_currency required
    private String side;// Allowed Values: debit, credit required
    private String operationType;// Allowed Values: transfer, card, direct_debit, income, qonto_fee, cheque  required
    private String currency;// ISO 4217 currency code of the bank account (can only be EUR, currently) required
    private String localCurrency;// ISO 4217 currency code of the bank account (can be any currency) required
    private String label;// Counterparty of the transaction (e.g: Amazon) required
    private String settledAt;// Date the transaction impacted the balance of the account format: yyyy-MM-dd'T'HH:mm:ss.SSSZ optional
    private String emittedAt;// Date at which the transaction impacted the authorized balance of the account format: yyyy-MM-dd'T'HH:mm:ss.SSSZ required
    private String updatedAt;// Date at which the transaction was last updated format: yyyy-MM-dd'T'HH:mm:ss.SSSZ required
    private String status;// Allowed Values: pending, reversed, declined, completed required
    private String note;// Memo added by the user on the transaction optional
    private String reference;// Message sent along income, transfer and direct_debit transactions optional
    private Float vatAmount;// Amount of VAT filled in on the transaction, in euros optional
    private Integer vatAmountCents;// Amount of VAT filled in on the transaction, in euro cents optional
    private Float vatRate;// Allowed Values: -1, 0, 2.1, 5.5, 10, 20 optional
    private String initiatorId;// ID of the membership who initiated the transaction optional
    private String labelIds;// array  List of labels' id optional
    private Boolean attachmentLost;// Indicates if the transaction's attachment was lost (default: false) optional
    private Boolean attachmentRequired;// Indicates if the transaction's attachment is required (default: true) optional

    private String uniqueSign;//用户Banque CE的cvs文件导入的时候 用来标识重复的列
    //发票相关
    private String invoice;//上传的发票的pdf地址
    private String invoiceImg;//上传的发票的img地址

    private String invoiceRate;//发票税率
    private String invoiceMoney;//上税总额
    private String invoiceStatus;//上传的发票的审核状态  PASS 审核通过 REJECT 审核拒绝  空为 未上传
    private Long invoiceUploadUserId;//发票上传人id
    private Date invoiceReviewTime;//发票审核时间
    private String invoiceMemo;//发票审核 备注

    private Date createTime;
    private Date updateTime;

    private String emittedAtStart;
    private String emittedAtEnd;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getTransactionId() {
        return transactionId;
    }

    public void setTransactionId(String transactionId) {
        this.transactionId = transactionId;
    }

    public Float getAmount() {
        return amount;
    }

    public void setAmount(Float amount) {
        this.amount = amount;
    }

    public Integer getAmountCents() {
        return amountCents;
    }

    public void setAmountCents(Integer amountCents) {
        this.amountCents = amountCents;
    }

    public String getAttachmentIds() {
        return attachmentIds;
    }

    public void setAttachmentIds(String attachmentIds) {
        this.attachmentIds = attachmentIds;
    }

    public Float getLocalAmount() {
        return localAmount;
    }

    public void setLocalAmount(Float localAmount) {
        this.localAmount = localAmount;
    }

    public Integer getLocalAmountCents() {
        return localAmountCents;
    }

    public void setLocalAmountCents(Integer localAmountCents) {
        this.localAmountCents = localAmountCents;
    }

    public String getSide() {
        return side;
    }

    public void setSide(String side) {
        this.side = side;
    }

    public String getOperationType() {
        return operationType;
    }

    public void setOperationType(String operationType) {
        this.operationType = operationType;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getLocalCurrency() {
        return localCurrency;
    }

    public void setLocalCurrency(String localCurrency) {
        this.localCurrency = localCurrency;
    }

    public String getLabel() {
        return label;
    }

    public void setLabel(String label) {
        this.label = label;
    }

    public String getSettledAt() {
        return settledAt;
    }

    public void setSettledAt(String settledAt) {
        this.settledAt = settledAt;
    }

    public String getEmittedAt() {
        return emittedAt;
    }

    public void setEmittedAt(String emittedAt) {
        this.emittedAt = emittedAt;
    }

    public String getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(String updatedAt) {
        this.updatedAt = updatedAt;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public String getReference() {
        return reference;
    }

    public void setReference(String reference) {
        this.reference = reference;
    }

    public Float getVatAmount() {
        return vatAmount;
    }

    public void setVatAmount(Float vatAmount) {
        this.vatAmount = vatAmount;
    }

    public Integer getVatAmountCents() {
        return vatAmountCents;
    }

    public void setVatAmountCents(Integer vatAmountCents) {
        this.vatAmountCents = vatAmountCents;
    }

    public Float getVatRate() {
        return vatRate;
    }

    public void setVatRate(Float vatRate) {
        this.vatRate = vatRate;
    }

    public String getInitiatorId() {
        return initiatorId;
    }

    public void setInitiatorId(String initiatorId) {
        this.initiatorId = initiatorId;
    }

    public String getLabelIds() {
        return labelIds;
    }

    public void setLabelIds(String labelIds) {
        this.labelIds = labelIds;
    }

    public Boolean getAttachmentLost() {
        return attachmentLost;
    }

    public void setAttachmentLost(Boolean attachmentLost) {
        this.attachmentLost = attachmentLost;
    }

    public Boolean getAttachmentRequired() {
        return attachmentRequired;
    }

    public void setAttachmentRequired(Boolean attachmentRequired) {
        this.attachmentRequired = attachmentRequired;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getEmittedAtStart() {
        return emittedAtStart;
    }

    public void setEmittedAtStart(String emittedAtStart) {
        this.emittedAtStart = emittedAtStart;
    }

    public String getEmittedAtEnd() {
        return emittedAtEnd;
    }

    public void setEmittedAtEnd(String emittedAtEnd) {
        this.emittedAtEnd = emittedAtEnd;
    }

    public String getInvoice() {
        return invoice;
    }

    public void setInvoice(String invoice) {
        this.invoice = invoice;
    }

    public String getInvoiceRate() {
        return invoiceRate;
    }

    public void setInvoiceRate(String invoiceRate) {
        this.invoiceRate = invoiceRate;
    }

    public String getInvoiceMoney() {
        return invoiceMoney;
    }

    public void setInvoiceMoney(String invoiceMoney) {
        this.invoiceMoney = invoiceMoney;
    }

    public String getInvoiceStatus() {
        return invoiceStatus;
    }

    public void setInvoiceStatus(String invoiceStatus) {
        this.invoiceStatus = invoiceStatus;
    }

    public Long getInvoiceUploadUserId() {
        return invoiceUploadUserId;
    }

    public void setInvoiceUploadUserId(Long invoiceUploadUserId) {
        this.invoiceUploadUserId = invoiceUploadUserId;
    }

    public Date getInvoiceReviewTime() {
        return invoiceReviewTime;
    }

    public void setInvoiceReviewTime(Date invoiceReviewTime) {
        this.invoiceReviewTime = invoiceReviewTime;
    }

    public String getInvoiceMemo() {
        return invoiceMemo;
    }

    public void setInvoiceMemo(String invoiceMemo) {
        this.invoiceMemo = invoiceMemo;
    }

    public String getInvoiceImg() {
        return invoiceImg;
    }

    public void setInvoiceImg(String invoiceImg) {
        this.invoiceImg = invoiceImg;
    }

    public String getUniqueSign() {
        return uniqueSign;
    }

    public void setUniqueSign(String uniqueSign) {
        this.uniqueSign = uniqueSign;
    }
}
